#!/usr/bin/env python3
# -*- coding: utf-8 -*-

L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']

print('L[0:3] =', L[0:3])
print('L[:3] =', L[:3])
print('L[1:3] =', L[1:3])
print('L[-2:] =', L[-2:])

R = list(range(100))
# 前10个数
print('R[:10] =', R[:10])
# 后10个数
print('R[-10:] =', R[-10:])
print('R[10:20] =', R[10:20])
# 前10个数，每两个取一个
print('R[:10:2] =', R[:10:2])
# 所有数，每5个取一个
print('R[::5] =', R[::5])
# 甚至什么都不写，只写[:]就可以原样复制一个list
P = R[:]

# tuple也是一种list，唯一区别是tuple不可变。
# 因此，tuple也可以用切片操作，只是操作的结果仍是tuple
t = (1,2,3,4,5)
m = t[:5:2]


def trim(str):
	if str[:1] == ' ':
		return trim(str[1:])
	elif str[-1:] == ' ':
		return trim(str[:-1])
	else:
		return str


if trim('hello  ') != 'hello':
    print('测试失败!')
elif trim('  hello') != 'hello':
    print('测试失败!')
elif trim('  hello  ') != 'hello':
    print('测试失败!')
elif trim('  hello  world  ') != 'hello  world':
    print('测试失败!')
elif trim('') != '':
    print('测试失败!')
elif trim('    ') != '':
    print('测试失败!')
else:
    print('测试成功!')
